#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 检测查找路径和 theme 名称
    qDebug() << QIcon::themeSearchPaths();
    qDebug() << QIcon::themeName();

    // 添加 icon theme 的查找路径，以及资源不存在时的备用路径：
    //QIcon::setThemeSearchPaths(QIcon::themeSearchPaths() << ":icons");
    //QIcon::setFallbackSearchPaths(QIcon::fallbackSearchPaths() << ":custom-icons");
    //QIcon::setThemeSearchPaths(QIcon::themeSearchPaths() << ":xicons");
    //QIcon::setFallbackSearchPaths(QIcon::fallbackSearchPaths() << ":xcustom-icons");
    QIcon::setThemeSearchPaths(QIcon::themeSearchPaths() << ":/xicons");
    QIcon::setFallbackSearchPaths(QIcon::fallbackSearchPaths() << ":/xcustom-icons");

    // 添加 icon theme 名称：
    QIcon::setThemeName("zafiro");

    // 从指定的 icon theme 中使用指定的资源（不用带后缀）
    ui->actionNewPoject->setIcon(QIcon::fromTheme("folder-alt"));
    // 资源如果不存在于指定的 icon theme 中，则到备用路径中查找的资源
    ui->actionCloseProject->setIcon(QIcon::fromTheme("open-app-library"));

    // 检测查找路径和 theme 名称
    qDebug() << QIcon::themeSearchPaths();
    qDebug() << QIcon::themeName();

/*
理解：
- 按照 icon theme 的规范要求，icon theme 必须要要有一个 index.theme 。
  - 包含这个 index.theme 文件夹的名字就是 icon theme 的名字。
- icon theme 的路径是添加到 qrc 文件中形成的路径。 （/xicons/）
  - 直至包含 index.theme 的文件夹的上一级文件夹。
- 指定的资源时不用带后缀。
*/
}

MainWindow::~MainWindow()
{
    delete ui;
}

